<!DOCTYPE html>
<html CN>







<head>
	
	
	<link rel="stylesheet" href="/css/allinone.min.css"> 

	
	<!-- Global Site Tag (gtag.js) - Google Analytics -->
	<script async src="https://www.googletagmanager.com/gtag/js?id=UA-42863699-1"></script>
	<script>
		window.dataLayer = window.dataLayer || [];
		function gtag(){dataLayer.push(arguments);}
		gtag('js', new Date());
		gtag('config', 'UA-42863699-1');
	</script>
	

	<meta charset="utf-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge" />

	<title>Sublime Text: python 程序员不完全指南 | Cizixs Write Here</title>

	<meta name="HandheldFriendly" content="True" />
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
	<meta name="generator" content="hexo">
	<meta name="author" content="Cizixs Wu">
	<meta name="description" content="">

	
	<meta name="keywords" content="">
	

	
	<link rel="shortcut icon" href="https://cizixs-blog.oss-cn-beijing.aliyuncs.com/006tNc79ly1g1qxfovpzyj30740743yg.jpg">
	

	
	<meta name="theme-color" content="#3c484e">
	<meta name="msapplication-TileColor" content="#3c484e">
	

	

	

	<meta property="og:site_name" content="Cizixs Write Here">
	<meta property="og:type" content="article">
	<meta property="og:title" content="Sublime Text: python 程序员不完全指南 | Cizixs Write Here">
	<meta property="og:description" content="">
	<meta property="og:url" content="http://cizixs.com/2014/12/20/sublime-tutorial-for-pythoner/">

	
	<meta property="article:published_time" content="2014-12-20T00:12:00+08:00"/> 
	<meta property="article:author" content="Cizixs Wu">
	<meta property="article:published_first" content="Cizixs Write Here, /2014/12/20/sublime-tutorial-for-pythoner/" />
	

	
	
	<script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
	

	
	<script src="https://cdn.staticfile.org/highlight.js/9.10.0/highlight.min.js"></script>
	

	
	
<link rel="stylesheet" href="/css/prism-base16-ateliersulphurpool.light.css" type="text/css"></head>
<body class="post-template">
    <div class="site-wrapper">
        




<header class="site-header outer" style="z-index: 999">
    <div class="inner">
        
<nav class="site-nav"> 
    <div class="site-nav-left">
        <ul class="nav">
            <li>
                
                <a href="/" title="Home">Home</a>
                
            </li>
            
            
            <li>
                <a href="/about" title="About">About</a>
            </li>
            
            <li>
                <a href="/archives" title="Archives">Archives</a>
            </li>
            
            
        </ul> 
    </div>
    <div class="site-nav-right">
        
<div class="social-links" >
    
    <a class="social-link" title="weibo" href="https://weibo.com/1921727853" target="_blank" rel="noopener">
        <svg viewBox="0 0 1141 1024" xmlns="http://www.w3.org/2000/svg"><path d="M916.48 518.144q27.648 21.504 38.912 51.712t9.216 62.976-14.336 65.536-31.744 59.392q-34.816 48.128-78.848 81.92t-91.136 56.32-94.72 35.328-89.6 18.944-75.264 7.68-51.712 1.536-49.152-2.56-68.096-10.24-78.336-21.504-79.872-36.352-74.24-55.296-59.904-78.848q-16.384-29.696-22.016-63.488t-5.632-86.016q0-22.528 7.68-51.2t27.136-63.488 53.248-75.776 86.016-90.112q51.2-48.128 105.984-85.504t117.248-57.856q28.672-10.24 63.488-11.264t57.344 11.264q10.24 11.264 19.456 23.04t12.288 29.184q3.072 14.336 0.512 27.648t-5.632 26.624-5.12 25.6 2.048 22.528q17.408 2.048 33.792-1.536t31.744-9.216 31.232-11.776 33.28-9.216q27.648-5.12 54.784-4.608t49.152 7.68 36.352 22.016 17.408 38.4q2.048 14.336-2.048 26.624t-8.704 23.04-7.168 22.016 1.536 23.552q3.072 7.168 14.848 13.312t27.136 12.288 32.256 13.312 29.184 16.384zM658.432 836.608q26.624-16.384 53.76-45.056t44.032-64 18.944-75.776-20.48-81.408q-19.456-33.792-47.616-57.344t-62.976-37.376-74.24-19.968-80.384-6.144q-78.848 0-139.776 16.384t-105.472 43.008-72.192 60.416-38.912 68.608q-11.264 33.792-6.656 67.072t20.992 62.976 42.496 53.248 57.856 37.888q58.368 25.6 119.296 32.256t116.224 0.512 100.864-21.504 74.24-33.792zM524.288 513.024q20.48 8.192 38.912 18.432t32.768 27.648q10.24 12.288 17.92 30.72t10.752 39.424 1.536 42.496-9.728 38.912q-8.192 18.432-19.968 37.376t-28.672 35.328-40.448 29.184-57.344 18.944q-61.44 11.264-117.76-11.264t-88.064-74.752q-12.288-39.936-13.312-70.656t16.384-66.56q13.312-27.648 40.448-51.712t62.464-38.912 75.264-17.408 78.848 12.8zM361.472 764.928q37.888 3.072 57.856-18.432t21.504-48.128-15.36-47.616-52.736-16.896q-27.648 3.072-43.008 23.552t-17.408 43.52 9.728 42.496 39.424 21.504zM780.288 6.144q74.752 0 139.776 19.968t113.664 57.856 76.288 92.16 27.648 122.88q0 33.792-16.384 50.688t-35.328 17.408-35.328-14.336-16.384-45.568q0-40.96-22.528-77.824t-59.392-64.512-84.48-43.52-96.768-15.872q-31.744 0-47.104-15.36t-14.336-34.304 18.944-34.304 51.712-15.36zM780.288 169.984q95.232 0 144.384 48.64t49.152 146.944q0 30.72-10.24 43.52t-22.528 11.264-22.528-14.848-10.24-35.84q0-60.416-34.816-96.256t-93.184-35.84q-19.456 0-28.672-10.752t-9.216-23.04 9.728-23.04 28.16-10.752z" /></svg>
    </a>
    

    
    <a class="social-link" title="github" href="https://github.com/cizixs" target="_blank" rel="noopener">
        <svg viewBox="0 0 1049 1024" xmlns="http://www.w3.org/2000/svg"><path d="M524.979332 0C234.676191 0 0 234.676191 0 524.979332c0 232.068678 150.366597 428.501342 358.967656 498.035028 26.075132 5.215026 35.636014-11.299224 35.636014-25.205961 0-12.168395-0.869171-53.888607-0.869171-97.347161-146.020741 31.290159-176.441729-62.580318-176.441729-62.580318-23.467619-60.841976-58.234462-76.487055-58.234463-76.487055-47.804409-32.15933 3.476684-32.15933 3.476685-32.15933 53.019436 3.476684 80.83291 53.888607 80.83291 53.888607 46.935238 79.963739 122.553122 57.365291 152.97411 43.458554 4.345855-33.897672 18.252593-57.365291 33.028501-70.402857-116.468925-12.168395-239.022047-57.365291-239.022047-259.012982 0-57.365291 20.860106-104.300529 53.888607-140.805715-5.215026-13.037566-23.467619-66.926173 5.215027-139.067372 0 0 44.327725-13.906737 144.282399 53.888607 41.720212-11.299224 86.917108-17.383422 131.244833-17.383422s89.524621 6.084198 131.244833 17.383422C756.178839 203.386032 800.506564 217.29277 800.506564 217.29277c28.682646 72.1412 10.430053 126.029806 5.215026 139.067372 33.897672 36.505185 53.888607 83.440424 53.888607 140.805715 0 201.64769-122.553122 245.975415-239.891218 259.012982 19.121764 16.514251 35.636014 47.804409 35.636015 97.347161 0 70.402857-0.869171 126.898978-0.869172 144.282399 0 13.906737 9.560882 30.420988 35.636015 25.205961 208.601059-69.533686 358.967656-265.96635 358.967655-498.035028C1049.958663 234.676191 814.413301 0 524.979332 0z" /></svg>
    </a>
    

    
    <a class="social-link" title="stackoverflow" href="https://stackoverflow.com/users/1925083/cizixs" target="_blank" rel="noopener">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15 21h-10v-2h10v2zm6-11.665l-1.621-9.335-1.993.346 1.62 9.335 1.994-.346zm-5.964 6.937l-9.746-.975-.186 2.016 9.755.879.177-1.92zm.538-2.587l-9.276-2.608-.526 1.954 9.306 2.5.496-1.846zm1.204-2.413l-8.297-4.864-1.029 1.743 8.298 4.865 1.028-1.744zm1.866-1.467l-5.339-7.829-1.672 1.14 5.339 7.829 1.672-1.14zm-2.644 4.195v8h-12v-8h-2v10h16v-10h-2z"/></svg>
    </a>
    

    

    
    <a class="social-link" title="twitter" href="https://twitter.com/cizixs" target="_blank" rel="noopener">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M30.063 7.313c-.813 1.125-1.75 2.125-2.875 2.938v.75c0 1.563-.188 3.125-.688 4.625a15.088 15.088 0 0 1-2.063 4.438c-.875 1.438-2 2.688-3.25 3.813a15.015 15.015 0 0 1-4.625 2.563c-1.813.688-3.75 1-5.75 1-3.25 0-6.188-.875-8.875-2.625.438.063.875.125 1.375.125 2.688 0 5.063-.875 7.188-2.5-1.25 0-2.375-.375-3.375-1.125s-1.688-1.688-2.063-2.875c.438.063.813.125 1.125.125.5 0 1-.063 1.5-.25-1.313-.25-2.438-.938-3.313-1.938a5.673 5.673 0 0 1-1.313-3.688v-.063c.813.438 1.688.688 2.625.688a5.228 5.228 0 0 1-1.875-2c-.5-.875-.688-1.813-.688-2.75 0-1.063.25-2.063.75-2.938 1.438 1.75 3.188 3.188 5.25 4.25s4.313 1.688 6.688 1.813a5.579 5.579 0 0 1 1.5-5.438c1.125-1.125 2.5-1.688 4.125-1.688s3.063.625 4.188 1.813a11.48 11.48 0 0 0 3.688-1.375c-.438 1.375-1.313 2.438-2.563 3.188 1.125-.125 2.188-.438 3.313-.875z"/></svg>

    </a>
    

    
    <a class="social-link" title="instagram" href="https://www.instagram.com/cizixs/" target="_blank" rel="noopener">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/></svg>
    </a>
    
    
    
</div>
    </div>
</nav>
    </div>
</header>


<main id="site-main" class="site-main outer" role="main">
    <div class="inner">
        <header class="post-full-header">
            <section class="post-full-meta">
                <time  class="post-full-meta-date" datetime="2014-12-19T16:00:00.000Z" itemprop="datePublished">
                    2014-12-20
                </time>
                
                <span class="date-divider">/</span>
                
                <a href="/categories/程序技术/">程序技术</a>&nbsp;&nbsp;
                
                
            </section>
            <h1 class="post-full-title">Sublime Text: python 程序员不完全指南</h1>
        </header>
        <article class="post-full no-image">
            
            <section class="post-full-content">
                <div id="lightgallery" class="markdown-body">
                    <h2 id="1-插件"><a href="#1-插件" class="headerlink" title="1. 插件"></a>1. 插件</h2><h3 id="Package-Control"><a href="#Package-Control" class="headerlink" title="Package Control"></a>Package Control</h3><p>唯一需要手动安装的插件，官方介绍：</p>
<blockquote>
<p>The Sublime Text package manager that makes it exceedingly simple to find, install and keep packages up-to-date.</p>
</blockquote>
<p>安装的话<a href="https://sublime.wbond.net/installation" target="_blank" rel="noopener">官网上有自动安装脚本</a>。</p>
<p><img src="https://raw.githubusercontent.com/cizixs/cizixs.github.io/master/images/sublime_text.png" alt="sublime text"></p>
<h3 id="Git"><a href="#Git" class="headerlink" title="Git"></a>Git</h3><p>Git 和 Sublime 的深度集成，直接执行 Git 命令，轻松告别 Terminal。</p>
<h3 id="GitGutter"><a href="#GitGutter" class="headerlink" title="GitGutter"></a>GitGutter</h3><p>实时查看 git diff 信息，在文件右侧的行号前添加记号来显示内容的增删改。</p>
<h3 id="SublimeBlockCursor"><a href="#SublimeBlockCursor" class="headerlink" title="SublimeBlockCursor"></a>SublimeBlockCursor</h3><p>把光标变成 Block，这样就不会发愁找不到当前光标的位置啦！</p>
<h3 id="AllAutoComplete"><a href="#AllAutoComplete" class="headerlink" title="AllAutoComplete"></a>AllAutoComplete</h3><p>在所有打开的文件中搜索词库来自动补全</p>
<h3 id="AutoPEP8"><a href="#AutoPEP8" class="headerlink" title="AutoPEP8"></a>AutoPEP8</h3><p>自动实现 python PEP8 的代码规范，必备。</p>
<h3 id="Pylinter"><a href="#Pylinter" class="headerlink" title="Pylinter"></a>Pylinter</h3><p>更严格的代码静态检查，设置有点复杂，不建议初级 Python 用户安装。</p>
<h3 id="SublimeREPL"><a href="#SublimeREPL" class="headerlink" title="SublimeREPL"></a>SublimeREPL</h3><p>NodeJS, Python, Ruby, Scala and Haskell 等语言的解释器，有语法问题就能直接测试。</p>
<h3 id="Advanced-new-file"><a href="#Advanced-new-file" class="headerlink" title="Advanced new file"></a>Advanced new file</h3><p>智能的新建文件选项</p>
<h3 id="Alignment"><a href="#Alignment" class="headerlink" title="Alignment"></a>Alignment</h3><p>自动对齐插件，代码洁癖患者必备。</p>
<hr>
<h3 id="DocBlockr"><a href="#DocBlockr" class="headerlink" title="DocBlockr"></a>DocBlockr</h3><p>Javascript, PHP, CoffeeScript, Actionscript, C &amp; C++ 语言的自动文档填充</p>
<h3 id="Emmet"><a href="#Emmet" class="headerlink" title="Emmet"></a>Emmet</h3><p>代码自动快速扩展，用于 HTML/CSS 前端开发</p>
<h2 id="2-快捷键"><a href="#2-快捷键" class="headerlink" title="2. 快捷键"></a>2. 快捷键</h2><h3 id="大小写转换：⌘-K-然后-U-⌘-K-然后-L"><a href="#大小写转换：⌘-K-然后-U-⌘-K-然后-L" class="headerlink" title="大小写转换：⌘ + K 然后 U, ⌘ + K 然后 L"></a>大小写转换：⌘ + K 然后 U, ⌘ + K 然后 L</h3><table>
<thead>
<tr>
<th>快捷键</th>
<th>功能</th>
<th>详情</th>
</tr>
</thead>
<tbody>
<tr>
<td>⌘ + ⇧ + p</td>
<td>终极杀手</td>
<td>快速浏览和管理命令：访问各种设置，打开插件，搜索文件，执行命令，修改文件语法等等。</td>
</tr>
<tr>
<td>⌘ + p</td>
<td>查找文件</td>
<td>快速打开你访问过的文件，模糊匹配的功能很强大，输出你能想到的任何单词就能打开目的文件。</td>
</tr>
<tr>
<td>⌘ + r</td>
<td>类/函数定义</td>
<td>列出当前文件所有的类/函数定义，输入名称就能快速移动到定义处。</td>
</tr>
<tr>
<td>⌘ + d</td>
<td>选择单词的下次出现</td>
<td>⌘ + d 会选择当前光标下单词的下一个，摁住 ⌘ 不放开，继续摁 d 会一次选择下一个，然后就能同时修改这些单词了。</td>
</tr>
<tr>
<td>⌘ + Click</td>
<td>选择任意位置</td>
<td>在所有点击的地方设置修改光标，便于同时编辑。</td>
</tr>
<tr>
<td>Ctl + ⌘ + g</td>
<td>选择所有单词</td>
<td>想要一次性编辑某个单词的所有地方，把光标放到该单词上，摁这个快捷键就能实现。</td>
</tr>
<tr>
<td>⌘ + ⇧ + Space</td>
<td>选择括号里的所有内容</td>
<td>对于编辑括号里的内容来说，非常方便。</td>
</tr>
<tr>
<td>⌘ + ⇧ + D</td>
<td>克隆一行或者所选内容</td>
<td></td>
</tr>
<tr>
<td>⌘ + [ 或者 ]</td>
<td>增加或者减少缩进</td>
<td></td>
</tr>
<tr>
<td>⌘ + X</td>
<td>删除该行</td>
<td>把当前行删除，并放到粘贴板，可以复制到其他地方。</td>
</tr>
<tr>
<td>⌘ + /</td>
<td>注释所选行</td>
<td>根据语言自动选择注释格式</td>
</tr>
<tr>
<td>⌘ + l</td>
<td>选择该行</td>
<td>选择当前行的内容</td>
</tr>
<tr>
<td>⌘ + ⇧ + t</td>
<td>重新打开关闭的文件</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="3-配置文件"><a href="#3-配置文件" class="headerlink" title="3. 配置文件"></a>3. 配置文件</h2><p>配置文件是纯 JSON 格式，打开 <code>Sublime Text -&gt; Preferences -&gt; Settings - User</code>，来编辑个人配置， 下面是我的配置，内容都是自解释的，不需我多言：</p>
<pre><code>{
    &quot;bold_folder_labels&quot;: true,
    &quot;caret_style&quot;: &quot;wide&quot;,
    &quot;color_scheme&quot;: &quot;Packages/Color Scheme - Default/Monokai.tmTheme&quot;,
    &quot;file_exclude_patterns&quot;:
    [
        &quot;.DS_Store&quot;,
        &quot;*.pid&quot;,
        &quot;*.pyc&quot;
    ],
    &quot;folder_exclude_patterns&quot;:
    [
        &quot;.git&quot;,
        &quot;__pycache__&quot;,
        &quot;env&quot;,
        &quot;env3&quot;
    ],
    &quot;font_size&quot;: 15.0,
    &quot;highlight_line&quot;: true,
    &quot;highlight_modified_tabs&quot;: true,
    &quot;ignored_packages&quot;:
    [
    ],
    &quot;rulers&quot;:
    [
        80
    ],
    &quot;tab_size&quot;: 4,
    &quot;translate_tabs_to_spaces&quot;: true,
    &quot;trim_trailing_white_space_on_save&quot;: true,
    &quot;vintage_start_in_command_mode&quot;: true,
    &quot;word_wrap&quot;: true
}
</code></pre><h2 id="4-高级设置"><a href="#4-高级设置" class="headerlink" title="4. 高级设置"></a>4. 高级设置</h2><h3 id="布局"><a href="#布局" class="headerlink" title="布局"></a>布局</h3><p>在 <code>View &gt; Layout</code> 里可以调整分屏视图，方便同时查看多个文件或者在查看代码的时候，一边在 python REPL 中测试。</p>
<h3 id="Snippets"><a href="#Snippets" class="headerlink" title="Snippets"></a>Snippets</h3><p>Snippets 是提前定义的快捷键，用来生成一段内容。你可以把经常会使用到的代码块（比如文件头部的开源协议信息，自动生成 Html 的 table）定义为 snippet，然后就不用重复输入那么多的代码了。</p>
<p>在 <code>Tools &gt; New Snippet...</code> 里创建新的 snippet，根据模板很容易就能完成。有什么问题就直接查看<a href="http://sublimetext.info/docs/en/extensibility/snippets.html" target="_blank" rel="noopener">官方文档</a>。</p>
<h3 id="快捷键设置"><a href="#快捷键设置" class="headerlink" title="快捷键设置"></a>快捷键设置</h3><p>在 <code>Sublime Text 2 &gt; Preferences &gt; Key Bindings - User</code> 里可以设置自己的快捷键。系统自定义的快捷键都在 <code>Key Bindings - Default</code>，可以仿照其中的格式来新建或者修改。</p>
<h3 id="Vintage-模式"><a href="#Vintage-模式" class="headerlink" title="Vintage 模式"></a>Vintage 模式</h3><p>把设置里 <code>&quot;ignored_packages&quot;</code> 列表里的 <code>&quot;Vintage&quot;</code> 删除就能开启，简单易用。VIM 使用者的福音！在 Mac 机器上，摁住某个键不放会跳出选择字符的窗口，而我们想要 Vim 的连续移动功能。只要把 Mac 的这一功能禁用：</p>
<pre><code>defaults write com.sublimetext.2 ApplePressAndHoldEnabled -bool false
</code></pre><p>如果不行的话，根据 Sublime Text 显示的名称，把上面命令的 <code>com.sublimetext.2</code> 换成 <code>com.sublimetext.3</code> 或者 <code>com.sublimetext</code>，不需要重启。</p>
<p>Vintage 模式并没有实现 Vim 的所有功能，主要实现的是移动功能：</p>
<pre><code>Vintage includes most basic actions: d (delete), y (copy), c (change), gu (lower case), gU (upper case), g~ (swap case), g? (rot13), &lt; (unindent), and &gt; (indent).

It also includes many motions, including l, h, j, k, W, w, e, E, b, B, alt+w (move by sub-words), alt+W (move backwards by sub-words), $, ^, %, 0, G, gg, f, F, t, T, ^f, ^b, H, M, and L.

Text objects are supported, including words, quotes, brackets and tags.

Repeat (&#39;.&#39;) is in there, as is specifying counts for commands and motions. Registers are supported, as are macros and bookmarks. Many other miscellaneous commands are supported too, such and *, /, n, N, s, S and more.
</code></pre><p>当然，有问题还是看<a href="http://www.sublimetext.com/docs/3/vintage.html" target="_blank" rel="noopener">官方文档</a>。</p>
<h3 id="在不同机器上同步-Sublime-Text-设置"><a href="#在不同机器上同步-Sublime-Text-设置" class="headerlink" title="在不同机器上同步 Sublime Text 设置"></a>在不同机器上同步 Sublime Text 设置</h3><p>在每一个机器上都重复上面的过程，无疑是一件枯燥的事情。<a href="https://sublime.wbond.net/docs/syncing" target="_blank" rel="noopener">同步配置</a>也是一件很简单的事情，只要把配置文件保持一致就行。亲测在 Sublime Text 2 和 Sublime Text 3 之间也有效。</p>
<h2 id="5-python-优化"><a href="#5-python-优化" class="headerlink" title="5. python 优化"></a>5. python 优化</h2><ol>
<li>打开 python 解释器：安装 SublimeREPL 插件后，输入 ⌘ + Shift + P，输入 sublimeREPL，定位到 python，摁 Enter 键打开。</li>
<li>运行当前文件的 python 代码： ⌘ + b</li>
<li>调试 python 代码：SublimeREPL 提供了 pdb， 使用打开 python 解释器相同的方式就能打开 pdb。</li>
<li>安装 <code>Anaconda</code> 或者 <code>SublimePythonIDE</code> 来集成更多的 python IDE 功能</li>
</ol>
<h2 id="说明"><a href="#说明" class="headerlink" title="说明"></a>说明</h2><p>文章会继续更新，目前只是第一个版本。</p>

                </div>
            </section>
        </article>
    </div>
    
<nav class="pagination">
    
    
    <a class="prev-post" title="解析 python decorator " href="/2014/12/21/python-decorator/">
        ← 解析 python decorator 
    </a>
    
    <span class="prev-next-post">•</span>
    
    <a class="next-post" title="凯撒密码和维吉尼亚密码" href="/2014/11/30/two-encryption-methods-and-cracks/">
        凯撒密码和维吉尼亚密码 →
    </a>
    
    
</nav>

    <div class="inner">
    <!-- Begin Mailchimp Signup Form -->
    <link href="//cdn-images.mailchimp.com/embedcode/classic-10_7.css" rel="stylesheet" type="text/css">
    <style type="text/css">
    	#mc_embed_signup{background:#fff; clear:left; font:14px Helvetica,Arial,sans-serif; }
    	/* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.
    	   We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */
    </style>
    <div id="mc_embed_signup">
    <form action="https://cizixs.us7.list-manage.com/subscribe/post?u=2d561b8dea52d73a2e05e6dcb&amp;id=5c710f135b" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
        <div id="mc_embed_signup_scroll">
    	<h2>订阅本博客，第一时间收到文章更新</h2>
    <div class="indicates-required"><span class="asterisk">*</span> indicates required</div>
    <div class="mc-field-group">
    	<label for="mce-EMAIL">邮件地址  <span class="asterisk">*</span>
    </label>
    	<input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
    </div>
    	<div id="mce-responses" class="clear">
    		<div class="response" id="mce-error-response" style="display:none"></div>
    		<div class="response" id="mce-success-response" style="display:none"></div>
    	</div>    <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
        <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_2d561b8dea52d73a2e05e6dcb_5c710f135b" tabindex="-1" value=""></div>
        <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
        </div>
    </form>
    </div>
    <script type='text/javascript' src='//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js'></script><script type='text/javascript'>(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';}(jQuery));var $mcj = jQuery.noConflict(true);</script>
    <!--End mc_embed_signup-->
    </div>

    <div class="inner">
        <div id="disqus_thread"></div>
    </div>

    
</main>

<div class="t-g-control">
    <div class="gotop">
        <svg class="icon" width="32px" height="32px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M793.024 710.272a32 32 0 1 0 45.952-44.544l-310.304-320a32 32 0 0 0-46.4 0.48l-297.696 320a32 32 0 0 0 46.848 43.584l274.752-295.328 286.848 295.808z" fill="#8a8a8a" /></svg>
    </div>
    <div class="toc-control">
        <svg class="icon toc-icon" width="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M779.776 480h-387.2a32 32 0 0 0 0 64h387.2a32 32 0 0 0 0-64M779.776 672h-387.2a32 32 0 0 0 0 64h387.2a32 32 0 0 0 0-64M256 288a32 32 0 1 0 0 64 32 32 0 0 0 0-64M392.576 352h387.2a32 32 0 0 0 0-64h-387.2a32 32 0 0 0 0 64M256 480a32 32 0 1 0 0 64 32 32 0 0 0 0-64M256 672a32 32 0 1 0 0 64 32 32 0 0 0 0-64" fill="#8a8a8a" /></svg>
        <svg class="icon toc-close" style="display: none;" width="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 960c-247.039484 0-448-200.960516-448-448S264.960516 64 512 64 960 264.960516 960 512 759.039484 960 512 960zM512 128.287273c-211.584464 0-383.712727 172.128262-383.712727 383.712727 0 211.551781 172.128262 383.712727 383.712727 383.712727 211.551781 0 383.712727-172.159226 383.712727-383.712727C895.712727 300.415536 723.551781 128.287273 512 128.287273z" fill="#8a8a8a" /><path d="M557.05545 513.376159l138.367639-136.864185c12.576374-12.416396 12.672705-32.671738 0.25631-45.248112s-32.704421-12.672705-45.248112-0.25631l-138.560301 137.024163-136.447897-136.864185c-12.512727-12.512727-32.735385-12.576374-45.248112-0.063647-12.512727 12.480043-12.54369 32.735385-0.063647 45.248112l136.255235 136.671523-137.376804 135.904314c-12.576374 12.447359-12.672705 32.671738-0.25631 45.248112 6.271845 6.335493 14.496116 9.504099 22.751351 9.504099 8.12794 0 16.25588-3.103239 22.496761-9.247789l137.567746-136.064292 138.687596 139.136568c6.240882 6.271845 14.432469 9.407768 22.65674 9.407768 8.191587 0 16.352211-3.135923 22.591372-9.34412 12.512727-12.480043 12.54369-32.704421 0.063647-45.248112L557.05545 513.376159z" fill="#8a8a8a" /></svg>
    </div>
    <div class="gobottom">
        <svg class="icon" width="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M231.424 346.208a32 32 0 0 0-46.848 43.584l297.696 320a32 32 0 0 0 46.4 0.48l310.304-320a32 32 0 1 0-45.952-44.544l-286.848 295.808-274.752-295.36z" fill="#8a8a8a" /></svg>
    </div>
</div>
<div class="toc-main" style="right: -100%">
    <div class="post-toc">
        <span>TOC</span>
        <ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#1-插件"><span class="toc-text">1. 插件</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#Package-Control"><span class="toc-text">Package Control</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Git"><span class="toc-text">Git</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#GitGutter"><span class="toc-text">GitGutter</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#SublimeBlockCursor"><span class="toc-text">SublimeBlockCursor</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#AllAutoComplete"><span class="toc-text">AllAutoComplete</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#AutoPEP8"><span class="toc-text">AutoPEP8</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Pylinter"><span class="toc-text">Pylinter</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#SublimeREPL"><span class="toc-text">SublimeREPL</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Advanced-new-file"><span class="toc-text">Advanced new file</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Alignment"><span class="toc-text">Alignment</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#DocBlockr"><span class="toc-text">DocBlockr</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Emmet"><span class="toc-text">Emmet</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#2-快捷键"><span class="toc-text">2. 快捷键</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#大小写转换：⌘-K-然后-U-⌘-K-然后-L"><span class="toc-text">大小写转换：⌘ + K 然后 U, ⌘ + K 然后 L</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#3-配置文件"><span class="toc-text">3. 配置文件</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#4-高级设置"><span class="toc-text">4. 高级设置</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#布局"><span class="toc-text">布局</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Snippets"><span class="toc-text">Snippets</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#快捷键设置"><span class="toc-text">快捷键设置</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Vintage-模式"><span class="toc-text">Vintage 模式</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#在不同机器上同步-Sublime-Text-设置"><span class="toc-text">在不同机器上同步 Sublime Text 设置</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#5-python-优化"><span class="toc-text">5. python 优化</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#说明"><span class="toc-text">说明</span></a></li></ol>
    </div>
</div>



        

<aside class="read-next outer">
    <div class="inner">
        <div class="read-next-feed">
            
            

<article class="read-next-card"  style="background-image: url(https://cizixs-blog.oss-cn-beijing.aliyuncs.com/006tNc79ly1g1qxcn9ft3j318w0txdo6.jpg)"  >
  <header class="read-next-card-header">
    <small class="read-next-card-header-sitetitle">&mdash; Cizixs Write Here &mdash;</small>
    <h3 class="read-next-card-header-title">Recent Posts</h3>
  </header>
  <div class="read-next-divider">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M13 14.5s2 3 5 3 5.5-2.463 5.5-5.5S21 6.5 18 6.5c-5 0-7 11-12 11C2.962 17.5.5 15.037.5 12S3 6.5 6 6.5s4.5 3.5 4.5 3.5"/>
    </svg>
  </div>
  <div class="read-next-card-content">
    <ul>
      
      
      
      <li>
        <a href="/2018/08/26/what-is-istio/">什么是 istio</a>
      </li>
      
      
      
      <li>
        <a href="/2018/08/25/knative-serverless-platform/">serverless 平台 knative 简介</a>
      </li>
      
      
      
      <li>
        <a href="/2018/06/25/kubernetes-resource-management/">kubernetes 资源管理概述</a>
      </li>
      
      
      
      <li>
        <a href="/2018/01/24/use-prometheus-and-grafana-to-monitor-linux-machine/">使用 promethues 和 grafana 监控自己的 linux 机器</a>
      </li>
      
      
      
      <li>
        <a href="/2018/01/13/linux-udp-packet-drop-debug/">linux 系统 UDP 丢包问题分析思路</a>
      </li>
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    </ul>
  </div>
  <footer class="read-next-card-footer">
    <a href="/archives">  MORE  → </a>
  </footer>
</article>


            
            
            
        </div>
    </div>
</aside>


<footer class="site-footer outer">

	<div class="site-footer-content inner">
		<section class="copyright">
			<a href="/" title="Cizixs Write Here">Cizixs Write Here</a>
			&copy; 2019
		</section>
		<nav class="site-footer-nav">
			
            <a href="https://hexo.io" title="Hexo" target="_blank" rel="noopener">Hexo</a>
            <a href="https://github.com/xzhih/hexo-theme-casper" title="Casper" target="_blank" rel="noopener">Casper</a>
        </nav>
    </div>
</footer>






<div class="floating-header" >
	<div class="floating-header-logo">
        <a href="/" title="Cizixs Write Here">
			
                <img src="https://cizixs-blog.oss-cn-beijing.aliyuncs.com/006tNc79ly1g1qxfovpzyj30740743yg.jpg" alt="Cizixs Write Here icon" />
			
            <span>Cizixs Write Here</span>
        </a>
    </div>
    <span class="floating-header-divider">&mdash;</span>
    <div class="floating-header-title">Sublime Text: python 程序员不完全指南</div>
    <progress class="progress" value="0">
        <div class="progress-container">
            <span class="progress-bar"></span>
        </div>
    </progress>
</div>
<script>
   $(document).ready(function () {
    var progressBar = document.querySelector('progress');
    var header = document.querySelector('.floating-header');
    var title = document.querySelector('.post-full-title');
    var lastScrollY = window.scrollY;
    var lastWindowHeight = window.innerHeight;
    var lastDocumentHeight = $(document).height();
    var ticking = false;

    function onScroll() {
        lastScrollY = window.scrollY;
        requestTick();
    }
    function requestTick() {
        if (!ticking) {
            requestAnimationFrame(update);
        }
        ticking = true;
    }
    function update() {
        var rect = title.getBoundingClientRect();
        var trigger = rect.top + window.scrollY;
        var triggerOffset = title.offsetHeight + 35;
        var progressMax = lastDocumentHeight - lastWindowHeight;
            // show/hide floating header
            if (lastScrollY >= trigger + triggerOffset) {
                header.classList.add('floating-active');
            } else {
                header.classList.remove('floating-active');
            }
            progressBar.setAttribute('max', progressMax);
            progressBar.setAttribute('value', lastScrollY);
            ticking = false;
        }

        window.addEventListener('scroll', onScroll, {passive: true});
        update();

        // TOC
        var width = $('.toc-main').width();
        $('.toc-control').click(function () {
            if ($('.t-g-control').css('width')=="50px") {
                if ($('.t-g-control').css('right')=="0px") {
                    $('.t-g-control').animate({right: width}, "slow");
                    $('.toc-main').animate({right: 0}, "slow");
                    toc_icon()
                } else {
                    $('.t-g-control').animate({right: 0}, "slow");
                    $('.toc-main').animate({right: -width}, "slow");
                    toc_icon()
                }
            } else {
                if ($('.toc-main').css('right')=="0px") {
                    $('.toc-main').slideToggle("fast", toc_icon());
                } else {
                    $('.toc-main').css('right', '0px');
                    toc_icon()
                }
            }
        })

        function toc_icon() {
            if ($('.toc-icon').css('display')=="none") {
                $('.toc-close').hide();
                $('.toc-icon').show();
            } else {
                $('.toc-icon').hide();
                $('.toc-close').show();
            }
        }

        $('.gotop').click(function(){
            $('html,body').animate({scrollTop:$('.post-full-header').offset().top}, 800);
        });
        $('.gobottom').click(function () {
            $('html,body').animate({scrollTop:$('.pagination').offset().top}, 800);
        });

        // highlight
        // https://highlightjs.org
        $('pre code').each(function(i, block) {
            hljs.highlightBlock(block);
        });
        $('td.code').each(function(i, block) {
            hljs.highlightBlock(block);
        });

        console.log("this theme is from https://github.com/xzhih/hexo-theme-casper")
    });
</script>



<link rel="stylesheet" href="https://cdn.staticfile.org/lightgallery/1.3.9/css/lightgallery.min.css">



<script src="https://cdn.staticfile.org/lightgallery/1.3.9/js/lightgallery.min.js"></script>


<script>
	$(function () {
		var postImg = $('#lightgallery').find('img');
		postImg.addClass('post-img');
		postImg.each(function () {
			var imgSrc = $(this).attr('src');
			$(this).attr('data-src', imgSrc);
		});
		$('#lightgallery').lightGallery({selector: '.post-img'});
	});
</script>



<script>

/**
*  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
*  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/

var disqus_config = function () {
this.page.url = 'http://cizixs.com/2014/12/20/sublime-tutorial-for-pythoner/';  // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = 'http://cizixs.com/2014/12/20/sublime-tutorial-for-pythoner/'; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};

(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://cizixs.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
                            


    </div>
</body>
</html>
